CD-ROM Appendix A, which is a part of the present disclosure, is a CD-ROM appendix consisting of 22 text files. CD-ROM Appendix A includes a software program executable on a controller as described below. The total number of compact disks including duplicates is two. Appendix B, which is part of the present specification, contains a list of the files contained on the compact disk. The attached CD-ROM Appendix A is formatted for an IBM-PC operating a Windows operating system.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
These and other embodiments are further discussed below.
The present disclosure was co-filed with the following sets of disclosures: the xe2x80x9cTracking and Focus Servo Systemxe2x80x9d disclosures, the xe2x80x9cServo System Calibrationxe2x80x9d disclosures, the xe2x80x9cSpin Motor Servo Systemxe2x80x9d disclosures, and the xe2x80x9cSystem Architecturexe2x80x9d disclosures; each of which was filed on the same date and assigned to the same assignee as the present disclosure, and are incorporated by reference herein in their entirety. The Tracking and Focus Servo System disclosures include U.S. Disclosure Ser. Nos. 09/950,329, 09/950,408, 09/950,444, 09/950,394, 09/950,413, 09/950,397, 09/950,914, 09/950,410, 09/950,441, 09/950,373, 09/950,425, 09/950,414, 09/950,378, 09/950,513, 09/950,331, 09/950,395, 09/950,376, 09/950,393, 09/950,432, 09/950,379, 09/950,515, 09/950,411, 09/950,412, 09/950,361, 09/950,540, and 09/950,519. The Servo System Calibration disclosures include U.S. Disclosure Ser. Nos. 09/950,398, 09/950,396, 09/950,360, 09/950,372, 09/950,541, 09/950,409, 09/950,520, 09/950,377, 09/950,367, 09/950,512, 09/950,415, 09/950,548, 09/950,392, and 09/950,514. The Spin Motor Servo System disclosures include U.S. Disclosure Ser. Nos. 09/951,108, 09/951,869, 09/951,330, 09/951,930, 09/951,328, 09/951,325 and 09/951,475. The System Architecture disclosures include U.S. Disclosure Ser. Nos. 09/951,947, 09/951,339, 09/951,469, 09/951,337, 09/951,329, 09/951,332, 09/951,931, 09/951,850, 09/951,333, 09/951,331, 09/951,156, 09/951,340 and 09/951,940.
The present application was also co-filed with the following applications U.S. application Ser. Nos. 09/950,516 and 09/950,365 each of which was filed on the same date and assigned to the same assignee as the present application, and are incorporated by reference herein in their entirety.
There is an ever increasing need for data storage devices having greater storage capacity with smaller form factors for multimedia systems utilizing text, video, and audio information. Further, there is a large demand for highly portable, rugged, and robust systems for use as multimedia entertainment, storage systems for PDAs, cell phones, electronic books, and other systems. One of the more promising technologies for rugged, removable, and portable data storage is WORM (write once read many) optical disk drives.
One of the important factors affecting design of an optical system (such as that utilized in a WORM drive) is the optical components utilized in the system and the control of actuators utilized to control the optical system on the disk. The optical system typically includes a laser or other optical source, focusing lenses, reflectors, optical detectors, and other components. Although a wide variety of systems have been used or proposed, typical previous systems have used optical components that were sufficiently large and/or massive that functions such as focus and/or tracking were performed by moving components of the optical system.
Many early optical disks and other optical storage systems provided relatively large format read/write devices including, for example, devices for use in connection with 12 inch (or larger) diameter disks. As optical storage technologies have developed, however, there has been increasing attention toward providing feasible and practical systems which are relatively smaller in size. Generally, a practical read/write device must accommodate numerous items within its form factor, including the media, media cartridge (if any), media spin motor, power supply and/or conditioning, signal processing, focus, tracking or other servo electronics, and components associated or affecting the laser or light beam optics. Accordingly, in order to facilitate a relatively small form-factor, an optical head occupying small volume is desirable. In particular, it is desirable for a small optical head in the direction perpendicular to the surface of the spinning media.
Additionally, a smaller, more compact, optical head provides numerous specific problems for electronics designed to control the position and focus of the optical head including: the need for extensive drive calibration and periodic drive recalibration, time critical servo state machines to compensate for the flexible focus and tracking actuators, nonlinear and cross-coupled tracking and focus position sensors, dynamic crosscoupling between the multiple servo loops, need for low power consumption to conserve battery life, removable and interchangeable media, robust handling of media defects, presence of both pre-mastered and user writeable areas on the same disk, need to operate in wide range of conditions including various physical orientations, wide range of ambient temperatures and humidity levels, and the presence of shock and vibration.
Therefore, there is a need for an optical head with a small form factor and, in addition, a servo system for controlling the head so that data can be reliably read from and written to the optical media.
A system, method, and apparatus in accordance with the present invention includes a code architecture that addresses the design challenges for the small form factor optical head. Embodiments of a system and device in accordance with the present invention utilize several unique methods including sharing a general purpose processor between the servo system and other drive systems in the device, using a dedicated high speed processor for time critical servo functions, communicating between the dedicated servo processor and the shared general purpose processor, distributing the servo processing between the general purpose processor and the dedicated servo processor, and distributing the servo processing within the general purpose processor between a main loop process and a background periodic interrupt process.
In one embodiment, a system for coordinating tasks in a control system for an optical disc drive for optical media with a pitted premastered area that cannot be overwritten and a grooved user-writeable area that can be overwritten comprises a first processor operable to communicate with a second processor, wherein the first processor includes instructions for performing non-time-critical tasks, and the second processor includes instructions for performing time-critical tasks. The first processor monitors the status of the time critical tasks, such as reading from and writing to the media, performed in the second processor.
In one aspect of this embodiment, the first processor receives messages regarding the status of the time-critical tasks in the second processor via a mailbox, and transmits commands to perform operations in the second processor via the mailbox.
In another aspect of this embodiment, the status indicates at least one of: a good jump, a bad jump, tracking OK, tracking bad, focus OK, focus bad, focus closed, tracking bad from focus error, seek complete, seek acceleration, seeking flag, and seek direction.
In another aspect of this embodiment, the instructions for performing non-time-critical tasks include generating commands, such as commands to read from or write to optical media in the disc drive, control rotational speed of the optical media, close focus, open focus, turn tracking on or off, and turn a laser on or off. Other commands can also be generated
In another aspect of this embodiment, the mailbox includes messages from the first processor to the second processor including parameters for at least one of: controlling jump acceleration, jump deceleration, oscillator amplitude, TES Gain Offset, Track Loop Gain, Track Gain Shift, FES Gain Offset, Focus DAC Offset, Focus Loop Gain, Focus Gain Shift, Crosstalk Compensation, Sensor Thresholds, and Sample Integrity Win.
In another aspect of this embodiment, the messages from the first processor to the second processor can include messages such as Focus On/Off, Track Integrator On, Track Integrator Reset, TES Sample Integrity On, FES Sample Integrity On, Jump ahead one Track, Jump back one Track, Track Bad Reset, Reset Jump Status, Focus Bad Reset, Reset Sat Detect Flags, Focus On during Jumps, Tracking Oscillator On, Focus Oscillator On, Tracking On/Off, Lock Mailboxes, Min/Max Signal Addresses, Min/Max Reset, Trace On/Off, Trace Addresses, Trace Rates, Clear Write Abort, Power On, Seek Reset, Oscillator Select, Seek On, TF On/Off, Block Write Gate, Focus Interrupt Enable, General Purpose Out addresses, and Writeable Media.
In another aspect of this embodiment, the mailbox includes messages from the second processor to the first processor including at least one of: DSP Status Register, DSP Control Register Echo, Signal Maximum, Signal Minimum, Tracking Control Effort (TCE), FES, Focus DAC, TES, Tracking DAC, Trace1, Trace2, Sample Count, and Second processor Code Version.
In another aspect of this embodiment, the first processor includes a set of heartbeat interrupt instructions comprising at least one of:
power mode state machine instructions;
recovery manager instructions;
focus control state machine instructions;
tracking/seeking control state machine instructions;
spin control state machine instructions;
physical sector address (PSA) state machine instructions;
laser control state machine instructions;
adjust gains state machine instructions;
performance monitor state machine instructions operable to monitor the status of the time critical tasks in the second processor; and
monitor load/eject state machine instructions.
In another aspect of this embodiment, the instructions in the first processor are operable to perform at least one of the following:
initialize calibration values;
initialize values for performing the non-time-critical tasks;
load the instructions for performing time-critical tasks in the second processor;
enable a high power mode in the disc drive;
bias a tracking actuator to a predetermined position;
ramp a focus actuator in a predetermined direction;
enable a low power mode in the disc drive;
wait to receive a notice of a new command being issued, a notify event, or a performance event;
increase the rate at which the first processor monitors the status of the time critical tasks in the second processor;
handle the new command, the notify event, or the performance event; and
decrease the rate at which the first processor monitors the status of the time critical tasks in the second processor.
In another embodiment, a method for coordinating tasks in a control system for an optical disc drive for optical media with a pitted premastered area that cannot be overwritten and a grooved user-writeable area that can be overwritten comprises:
performing non-time-critical tasks in a first processor;
performing time-critical tasks in a second processor;
monitoring the status of the time critical tasks in the second processor from the first processor;
waiting for a notice of a new command, a notify event, or a performance event in the first processor; and
issuing one or more control commands from the first processor to the second processor.
In one aspect of this embodiment, the method includes communicating between the first processor and the second processor via a set of mailbox registers.
In another aspect of this embodiment, the status indicates at least one of: a good jump, a bad jump, tracking OK, tracking bad, focus OK, focus bad, focus closed, tracking bad from focus error, seek complete, seek acceleration, seeking flag, and seek direction.
In another aspect of this embodiment, the method includes generating commands, such as commands to read from or write to optical media in the disc drive, control rotational speed of the optical media, close focus, open focus, turn tracking on or off, and turn a laser on or off. Other commands can also be generated
In another aspect of this embodiment, the method includes transmitting parameters for at least one of: jump acceleration, jump deceleration, oscillator amplitude, TES Gain Offset, Track Loop Gain, Track Gain Shift, FES Gain Offset, Focus DAC Offset, Focus Loop Gain, Focus Gain Shift, Crosstalk Compensation, Sensor Thresholds, and Sample Integrity Win from the first processor to the second processor.
In another aspect of this embodiment, the method further comprises transmitting messages such as Focus On/Off, Track Integrator On, Track Integrator Reset, TES Sample Integrity On, FES Sample Integrity On, Jump ahead one Track, Jump back one Track, Track Bad Reset, Reset Jump Status, Focus Bad Reset, Reset Sat Detect Flags, Focus On during Jumps, Tracking Oscillator On, Focus Oscillator On, Tracking On/Off, Lock Mailboxes, Min/Max Signal Addresses, Min/Max Reset, Trace On/Off, Trace Addresses, Trace Rates, Clear Write Abort, Power On, Seek Reset, Oscillator Select, Seek On, TF On/Off, Block Write Gate, Focus Interrupt Enable, General Purpose Out addresses, and Writeable Media.
In another aspect of this embodiment, transmitting messages from the second processor to the first processor include at least one of the following messages: DSP Status Register, DSP Control Register Echo, Signal Maximum, Signal Minimum, Tracking Control Effort (TCE), FES, Focus DAC, TES, Tracking DAC, Trace1, Trace2, Sample Count, and Second processor Code Version.
In another aspect of this embodiment, the method includes performing non-realtime-critical tasks in a first processor including at least one of:
controlling power mode;
managing recovery from the performance event;
controlling focus;
controlling tracking/seeking;
controlling spin;
controlling physical sector addresses (PSA);
controlling a laser; and
adjusting gains.
In another aspect of this embodiment, the method includes at least one of:
initializing calibration values;
initializing values for performing the non-time-critical tasks;
loading the instructions for performing time-critical tasks in the second processor;
enabling a high power mode in the disc drive;
biasing a tracking actuator to a predetermined position;
ramping a focus actuator in a predetermined direction;
enabling a low power mode in the disc drive;
waiting to receive a notice of a new command being issued, a notify event, or a performance event;
increasing the rate at which the first processor monitors the status of the time critical tasks in the second processor;
handling the new command, the notify event, or the performance event; and
decreasing the rate at which the first processor monitors the status of the time critical tasks in the second processor.
In another aspect of this embodiment, the method includes performing other tasks in the first processor while waiting to receive a notice of at least one of: a new command being issued, a notify event, or a performance event.
The methods in accordance with the present invention can be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. The methods can also be embodied in the form of computer program code embodied in tangible media, such as floppy diskettes, CD-ROMS, hard drives, or any other computer-readable storage medium where, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. The method can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
The above as well as additional objectives, features, and advantages of embodiments of the present invention will become apparent in the following detailed written description.